查看原文
其他

WGAN的成功,可能跟Wasserstein距离没啥关系

苏剑林 PaperWeekly 2022-07-04


©PaperWeekly 原创 · 作者|苏剑林

单位|追一科技

研究方向|NLP、神经网络


WGAN,即 Wasserstein GAN,算是 GAN 史上一个比较重要的理论突破结果,它将 GAN 中两个概率分布的度量从 f 散度改为了 Wasserstein 距离,从而使得 WGAN 的训练过程更加稳定,而且生成质量通常也更好。

Wasserstein 距离跟最优传输相关,属于 Integral Probability Metric(IPM)的一种,这类概率度量通常有着更优良的理论性质,因此 WGAN 的出现也吸引了很多人从最优传输和 IPMs 的角度来理解和研究 GAN 模型。

然而,最近 Arxiv 上的论文《Wasserstein GANs Work Because They Fail (to Approximate the Wasserstein Distance)》[1] 则指出,尽管 WGAN 是从 Wasserstein GAN 推导出来的,但是现在成功的 WGAN 并没有很好地近似 Wasserstein 距离,相反如果我们对 Wasserstein 距离做更好的近似,效果反而会变差。

事实上,笔者一直以来也有这个疑惑,即 Wasserstein 距离本身并没有体现出它能提升 GAN 效果的必然性,该论文的结论则肯定了该疑惑,所以 GAN 能成功的原因依然很迷。


基础与回顾

本文是对 WGAN 训练过程的探讨,并不算入门文章。关于初学 GAN,欢迎参考互怼的艺术:从零直达 WGAN-GP;而关于 f 散度与 GAN 之间的联系,可以参考 f-GAN 简介:GAN 模型的生产车间Designing GANs:又一个 GAN 生产车间;至于WGAN的理论推导,可以参考从Wasserstein距离、对偶理论到 WGAN;对于 GAN 的训练过程分析,还可以参考从动力学角度看优化算法:GAN 的第三个阶段

一般来说,GAN 对应着一个 min-max 过程:

当然,一般来说判别器和生成器的损失函数可能不一样,但上述形式已经足够有代表性了。最原始的 GAN 一般称为 vanilla GAN,其形式为:

可以参考《Towards Principled Methods for Training Generative Adversarial Networks》[2] 、令人拍案叫绝的 Wasserstein GAN [3] 或笔者的相关 GAN [4] 文章证明,vanilla GAN 实际上相对于在缩小两个分布之间的 JS 散度。

而 JS 散度是 f 散度的一种,所有的 f 散度都具有一个问题,那就是在两个分布几乎没有交集的时候,散度为一个常数,这意味着梯度为零,而我们是使用梯度下降求解的,所以这意味着我们无法很好地完成优化。为此,WGAN [5] 应运而生,它利用 Wasserstein 距离来设计了新的 GAN:
跟之前的 GAN 的明显区别是,WGAN 显式地给判别器 D 加上了 L 约束 。由于 Wasserstein 距离几乎对任意两个分布(哪怕没有交集)都有比较良好的定义,因此 WGAN 理论上就解决了传统的基于 f 散度的 GAN 的梯度消失、训练不稳定等问题。

给判别器加上 L 约束主要有两个主要方案:一是谱归一化(Spectral Normalization,SN),可以参考深度学习中的 Lipschitz 约束:泛化与生成模型,现在很多 GAN(不限于 WGAN)为了稳定训练,都往判别器甚至生成器上都加入谱归一化了;

二是梯度惩罚(Gradient Penalty,GP),其中有包括以 1 为中心的惩罚(WGAN-GP)和以 0 为中心的惩罚(WGAN-div)两种,可以参考WGAN-div:一个默默无闻的 WGAN 填坑者,目前的结果表明零中心惩罚具有比较好的理论性质和效果。


效果 ≠ 近似

事实上“WGAN 并没有很好近似 Wasserstein 距离”这个现象也不是第一次被关注了,比如 2019 年就有论文《How Well Do WGANs Estimate the Wasserstein Metric?》[6] 系统地讨论过这一点。而本文要介绍的论文,则通过比较严谨地设置实验来确定 WGAN 效果的好坏与 Wasserstein 距离近似程度的联系。

首先,论文比较了梯度惩罚(GP)与一种称为 的方法在实现WGAN时的效果。 同样提出自论文《How Well Do WGANs Estimate the Wasserstein Metric?》[6] ,它相比梯度惩罚能更好地近似 Wasserstein 距离。下面两个图也表明了这一点:


▲ 静态测试时WGAN-GP、c-transforme与Wasserstein距离的近似程度

▲ 训练过程中WGAN-GP、c-transforme与Wasserstein距离的近似程度
然而, 的生成效果,却并不如梯度惩罚:


▲WGAN-GP与c-transform的生成效果比较

当然,原论文选这个图真是让人哭笑不得,事实上 WGAN-GP 的效果可以比上面右图好得多。于是,我们可以暂时下结论:

  1. 效果好的 WGAN 在训练过程中并没有很好地近似 Wasserstein 距离;
  2. 更好地近似 Wasserstein 距离究竟对提升生成效果并没有帮助。


理论 ≠ 实验


现在就让我们来思考一下问题出在哪。我们知道,不管是原始  (2)还是  (3)又或者其他 GAN,在实验的时候,都有两个共同特点:
  1. 是交替训练的;
  2. 每次都只是随机选一个 batch 来训练。
这两点有什么问题呢?
第一,其实几乎所有的 GAN 都会写成 ,这是因为理论上来说,需要先精确完成 ,然后再去 ,才是在优化 GAN 对应的概率度量,如果只是交替优化,那么理论上就不可能很精确地逼近概率度量。
哪怕 WGAN 因为用了 Wasserstein 距离不怕消失,所以交替训练时通常会多训练几步 D(或者 D 用更大的学习率),但依旧不可能精确逼近 Wasserstein 距离,这是差距来源之一。
第二,随机采样一个 batch 来训练,而不是全量训练样本,这导致的一个结果是“训练集里边随机选两个 batch 的 Wasserstein 距离,还大于训练集的 batch 与其平均样本之间的 Wasserstein 距离”,如下图所示:


▲ 左:真实样本batch,中:平均样本,右:样本聚类中心。看Wasserstein距离的话,真实样本还不如后面两个模糊样本
这就说明了,基于 batch 训练的情况下,如果你希望得到更真实的样本,那么必然不是在优化 Wasserstein 距离,如果你在很精确地优化 Wasserstein 距离,那么就得不到更真实的样本,因为模糊的平均样本的 Wasserstein 距离还更小。


数学 ≠ 视觉

从数学上来看,Wasserstein 距离的性质确实是非常漂亮的,某种意义上来说它是度量任意两个分布之间差距的最佳方案。但是数学归数学,Wasserstein 距离最“致命”的地方在于它是依赖于具体的度量的:

也就是说,我们需要给定一个能度量两个样本差距的函数 d(x,y)。然而,对于很多场景,比如两张图片,度量函数的设计本身就是难中之难。WGAN 直接使用了欧氏距离 ,尽管在数学上是合理的,但在视觉效果上却是不合理的,我们肉眼认为的两张更相似的图片,它的欧氏距离未必更小。
所以如果很精确地去近似 Wasserstein 距离,反而会带来视觉效果上的变差。原论文也做了实验,通过 对 Wasserstein 距离做更好的近似,那么模型的生成效果其实跟 K-Means 聚类中心是类似的,而 K-Means 也正是使用了欧式距离作为度量:


▲ c-transform效果与K-Means的相似性

所以,现在 WGAN 成功的原因就很迷了:WGAN 是基于 Wasserstein 距离推导出来的,然后在实现上却跟 Wasserstein 距离有点差距,而这个差距很可能才是 WGAN 成功的关键。

原论文认为 WGAN 的最关键之处是引入了 L 约束,往任意一个 GAN 变种里边引入 L 约束(谱归一化或梯度惩罚),多多少少都能使得效果和稳定性有点提升,因此 L 约束才是提升的要点,而并不是想象中的 Wasserstein 距离。

但这更多的只是一个结论,还不是理论上的分析。看来对 GAN 的深入理解,还是任重而道远。


简单的总结

本文主要分享了最近的一篇论文,里边指出对 Wasserstein 距离的近似与否,跟 WGAN 的效果好坏并没有必然联系,如何更好地理解 GAN 的理论与实践,依然是一种艰难的任务。

参考文献

[1] https://arxiv.org/abs/2103.01678
[2] https://arxiv.org/abs/1701.04862
[3] https://zhuanlan.zhihu.com/p/25071913
[4] https://kexue.fm/tag/GAN/
[5] https://arxiv.org/abs/1701.07875
[6] https://arxiv.org/abs/1910.03875

更多阅读




#投 稿 通 道#

 让你的论文被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。


📝 来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向) 

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接 

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志


📬 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site 

• 所有文章配图,请单独在附件中发送 

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通



🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧



关于PaperWeekly


PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存